//package com.mbyte.easy.config;
//
//import org.springframework.amqp.core.*;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @author zte
// * @since 2021/1/20 22:03
// */
//@Configuration
//public class RabbitMQConfig {
//
//    /**
//     * Fanout模式
//     * @return
//     */
//    public static final String QUEUE_ONE = "queue_fanout01";
//    public static final String QUEUE_TWO = "queue_fanout02";
//    public static final String EXCHANGE = "fanoutExchange";
//
//    /**
//     * topic模式
//     */
//    public static final String TOPIC_QUEUE_ONE = "queue_topic01";
//    public static final String TOPIC_QUEUE_TWO = "queue_topic02";
//    public static final String TOPIC_EXCHANGE = "topicExchange";
//    public static final String TOPIC_ROUTEREY_ONE = "#.queue.#";
//    public static final String TOPIC_ROUTEREY_TWO = "*.queue.#";
//
//    /**
//     * 用于简单发送消息（简单模式）
//     * @return
//     */
//    @Bean
//    public Queue queue(){
//        return new Queue("queue",true);
//    }
//
//    /**
//     * Fanout模式
//     * @return
//     */
//    @Bean
//    public Queue queueOne(){
//        return new Queue(QUEUE_ONE);
//    }
//    @Bean
//    public Queue queueTwo(){
//        return new Queue(QUEUE_TWO);
//    }
//    @Bean
//    public FanoutExchange fanoutExchange(){
//        // 声明一个交换机
//        return new FanoutExchange(EXCHANGE);
//    }
//    /**
//     * 将两个队列分别于交换机绑定
//     */
//    @Bean
//    public Binding bindingOne () {
//        return BindingBuilder.bind(queueOne()).to(fanoutExchange());
//    }
//    @Bean
//    public Binding bindingTwo () {
//        return BindingBuilder.bind(queueTwo()).to(fanoutExchange());
//    }
//
//    /**
//     * Topic模式
//     * @return
//     */
//    @Bean
//    public Queue queueTopicOne () {
//        return new Queue(TOPIC_QUEUE_ONE);
//    }
//    @Bean
//    public Queue queueTopicTwo () {
//        return new Queue(TOPIC_QUEUE_TWO);
//    }
//    @Bean
//    public TopicExchange topicExchange(){
//        // 声明一个交换机
//        return new TopicExchange(TOPIC_EXCHANGE);
//    }
//    @Bean
//    public Binding bindingTopicOne () {
//        return BindingBuilder.bind(queueTopicOne()).to(topicExchange()).with(TOPIC_ROUTEREY_ONE);
//    }
//    @Bean
//    public Binding bindingTopicTwo () {
//        return BindingBuilder.bind(queueTopicTwo()).to(topicExchange()).with(TOPIC_ROUTEREY_TWO);
//    }
//
//}
